/** DEFAULTNAMES
 *  OLMAP 方法函数
 *  style操作方法
 *  在加载矢量图层的时候需要样式 
 *  @author Goog2023
 */

// 创建一个样式
function fcreateStyle(options = {}) {
    return new ol.style.Style(options);
}

// 创建圆形样式
function fcreateCircle(params = {}) {
    return new ol.style.Circle(params);
}

// 创建填充样式
function fcreateFill(params) {
    return new ol.style.Fill(params);
}

// 创建绘制线条样式
function fcreateStroke(params) {
    return new ol.style.Stroke(params)
}

// 创建一个图标样式
function fcreateIcon(params) {
    return new ol.style.Icon(params);
}

// 创建图标的样式
function fcreateIconStyle(src = '', scale = 1, color = '#fff', crossOrigin = 'anonymous') {
    return fcreateStyle({
        image: fcreateIcon({
            color,
            src,
            scale,
            crossOrigin
        })
    })
}

// 创建一条线样式
function fcreateLineStyle(width = 2, color = 'green', fill = 'transparent') {
    return fcreateStyle({
        stroke: fcreateStroke({
            width,
            color
        }),
        fill: fcreateFill({
            color: fill
        })
    })
}

// 创建一个圆样式
function fcreateCircleStyle(radius = 5, color = 'green') {
    return fcreateStyle({
        image: fcreateCircle({
            radius,
            color
        })
    })
}

export {
    fcreateLineStyle,
    fcreateCircleStyle,
    fcreateStroke,
    fcreateCircle,
    fcreateStyle,
    fcreateFill,
    fcreateIconStyle
}